#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "prompt.h"

int main ()
{
	char lePrompt[MAX_SIZE_PROMPT];
	char * aide = "Liste des commandes :\n\topen <adresse IP> : ouverture d'une connexion ftp\n\tdir : affichage du dossier distant courant\n\tshow <fichier> : affichage du fichier distant\n\tciao : fermeture de la connexion\n\tdebugon/debugoff : mode verbeux on/off\n\tpassiveon/passiveoff : connexion en mode passif on/off\n\texit : quitter le client ftp\n\thelp : aide";
	int pasExit = 1;
	int sockfd; //socket de controle
	int modeVerbeux = 0;
	int modeActif = 1;
	printf("\n----------------------------------\n\n\tBienvenu sur notre client ftp.\n\n%s\n\n----------------------------------\n\n",aide);
	
	//test en boucle les commandes et redirige sur la fonciton de gestion
	while(pasExit)
	{
		printf(">");
		memset(lePrompt, '\0', MAX_SIZE_PROMPT);
		fgets(lePrompt, MAX_SIZE_PROMPT, stdin);
		lePrompt[strlen(lePrompt)]='\0';
		
		if(!memcmp(lePrompt,"exit",4))
		{
			printf("\n#exit :: %s",lePrompt);
			
			pasExit=0;
		}
		else if(!memcmp(lePrompt,"help",4))
		{
			printf("\n#help :: %s",lePrompt);
			
			printf("\n-------------AIDE-----------------\n\n%s\n\n----------------------------------\n\n",aide);
		}
		else if(!memcmp(lePrompt,"debugon",7))
		{
			printf("\n#debugon :: %s",lePrompt);
			
			modeVerbeux = 1;
			printf("Mode verbeux activé.\n\n");
		}
		else if(!memcmp(lePrompt,"debugoff",8))
		{
			printf("\n#debugoff :: %s",lePrompt);
			
			modeVerbeux = 0;
			printf("Mode verbeux désactivé.\n\n");
		}
		else if(!memcmp(lePrompt,"passiveon",9))
		{
			printf("\n#passiveon :: %s",lePrompt);
			
			modeActif = 0;
			printf("Mode passif activé.\n\n");
		}
		else if(!memcmp(lePrompt,"passiveoff",10))
		{
			printf("\n#passiveoff :: %s",lePrompt);
			
			modeActif = 1;
			printf("Mode passif désactivé.\n\n");
		}
		else if(!memcmp(lePrompt,"open",4))
		{
			printf("\n#open :: %s",lePrompt);
			
			sockfd=promptOpen(lePrompt, modeVerbeux);
		}
		else if(!memcmp(lePrompt,"dir",3))
		{
			printf("\n#dir :: %s",lePrompt);
			
		}
		else if(!memcmp(lePrompt,"show",4))
		{
			printf("\n#show :: %s",lePrompt);
			
			promptShow(lePrompt, sockfd, modeVerbeux, modeActif);
			
		}
		else if(!memcmp(lePrompt,"ciao",4))
		{
			printf("\n#ciao :: %s",lePrompt);
			
			promptDeco(lePrompt, sockfd, modeVerbeux);
		}
		else
		{
			printf("\n#Commande inconnue : \n\"%s\"\n\n",lePrompt);
		}
	}
	
	printf("\n----------------------------------\n\n    Au revoir\n\n");	
}



